/**
 * api数据请求工具
 */
export class ApiUtil {
  /**
   * 将 Map 或 List 转换为普通对象
   * @param data Map、List 或其他数据类型
   * @returns 转换后的对象
   */
  public static dataTryToObject(data: any): string | Object | ArrayBuffer {
    // 处理 null 或 undefined
    if (data == null) {
      return data;
    }

    // 处理 Map
    if (data instanceof Map) {
      const obj = {};
      data.forEach((value, key) => {
        obj[key] = this.dataTryToObject(value);
      });
      return obj;
    }

    // 处理数组/List
    if (Array.isArray(data)) {
      return data.map(item => this.dataTryToObject(item));
    }

    // 处理对象
    if (data instanceof Object) {
      const obj = {};
      Object.entries(data).forEach(([key, value]) => {
        obj[key] = this.dataTryToObject(value);
      });
      return obj;
    }

    // 返回原始值
    return data;
  }
}